package com.hdax.mappers;

import com.hdax.entity.Menu;
import com.hdax.entity.Permission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 许可映射器
 *
 * @author Aizen
 * @date 2022/05/04
 */
@Repository
@Mapper
public interface PermissionMapper {

    /**
     * 菜单permissions1
     *
     * @param rid 掉
     * @return {@link List}<{@link Menu}>
     */
    List<Menu> menuPermissions1(Integer rid);

    /**
     * 德尔许可掉
     *
     * @param rid 掉
     */
    void delPermissionByRid(Integer rid);

    /**
     * 通过消除添加权限
     *
     * @param rid  掉
     * @param ids pid
     */
    void addPermissionsByRid(Integer rid, List<Integer> ids);

    /**
     * 根据角色ID拿到对应的所有权限
     *
     * @param rid 掉
     * @return {@link List}<{@link Permission}>
     */
    List<Permission> allPermissions(Integer rid);

    /**
     * 根据 角色编号 查询该角色的所有权限
     * @param roleId 角色编号
     * @return 权限集合
     */
    List<Permission> getPermissionByRoleId(Integer roleId);
}
